package com.tqjc.system.system.service;

import com.tqjc.system.common.entity.BO.AddBusinessTaskInfo;
import com.tqjc.system.system.model.vo.TaskMaterialEditVO;
import com.tqjc.system.system.model.vo.TaskMaterialOptVO;

/**
 * @author 86195
 * @version 1.0
 * @description 任务业务服务类
 * @date 2023/10/16 15:20
 */
public interface SysBusinessTaskService {

    /**
     * 任务完成
     * @param msgBody
     */
    public void completeTask(String msgBody);

    /**
     * 接受报文信息
     * @param message
     */
    public void accept(String message);


    /**
     * MES类型的任务新增
     */
    public void increase(String msgBody,long idKey);

    /**
     * MES类型的任务修改
     */
    public void modify(String msgBody);


    /**
     * 系统自身修改任务
     * @param materialOptVO
     */
    public void modify(TaskMaterialOptVO materialOptVO);

    /**
     * 增加子任务物料
     * @param taskMaterialOptVO
     */
    void optIncrease(TaskMaterialOptVO taskMaterialOptVO);

    /**
     * 修改子任务
     * @param materialOptVO
     */
    void optModify(TaskMaterialOptVO materialOptVO);

    void frontConfirm(TaskMaterialOptVO taskMaterialOptVO);

    /**
     * 系统自身下发任务完成
     * @param tankCarNo
     * @param taskId
     */
    void completeTask(String tankCarNo,String taskId) ;

    /**
     * 系统自身下发新增任务
     * @param taskMaterialOptVO
     */
    public void increase(TaskMaterialOptVO taskMaterialOptVO);

    void frontDel(TaskMaterialOptVO taskMaterialOptVO);


    void executeHandTask(AddBusinessTaskInfo content);

    void confirmForMES(TaskMaterialOptVO taskMaterialOptVO);

    boolean checkCarStatus(String spanNo);

    void forceFinishTask(String taskId);

    void fixAbnormal(String carName) throws Exception;

    void resumeTask(String carName) throws Exception;

    void refresh(String taskId);
}
